package main

import "fmt"

func main() {
	// 位运算：针对是二进制位
	// 与运算：同为1则为1，有1有0则为0 ，同为0则为0
	// 或运算：同为1则为1，同为0则为0，有1有0则为1
	// 5的二进制表示：101
	// 3的二进制表示：011    1248

	// 按位与
	fmt.Println(5 & 3)

	// 按位或
	fmt.Println(5 | 3)

	// 按位异或:两位不一样则为1
	fmt.Println(5 ^ 3)

	// << ：将而二进制位左移指定位数 101 =》1010 结果为10   
	fmt.Println(5 << 1)

	// >> : 将二进制数右移指定位数 101=>10 结果为2
	fmt.Println(5 >> 1) 
}
